package com.learn.failToFinished;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * 编写一个函数来查找字符串数组中的最长公共前缀。
 * 如果不存在公共前缀，返回空字符串 ""。
 *
 * 输入：strs = ["flower","flow","flight"]
 * 输出："fl"
 *
 * 输入：strs = ["dog","racecar","car"]
 * 输出：""
 * 解释：输入不存在公共前缀。
 */
public class num_14 {
    public static void main(String[] args) {
        String [] strs ={ "flower","flow","flight"};
        System.out.println(longestCommonPrefix(strs));
    }
    public static String longestCommonPrefix(String[] strs) {
        //无内容，输出空
        if (strs == null || strs.length == 0) {
            return "";
        }
        //预设第一个数组
        String answer=strs[0];
        //用第一个比较后面的
        for (int i = 1; i < strs.length; i++) {
            int j=0;
            //当第二个小于预设数组的答案，且j不应该大于其本身的长度
            for (;j<strs[i].length()&& j<answer.length();j++){
                //如果第j位的字符不匹配，退出循环
                if (answer.charAt(j) != strs[i].charAt(j)) {
                    break;
                }
            }
            //完成比较之后立刻截取
            answer=answer.substring(0,j);

        }

        return answer;
    }
}
